ConfigureIo
Configures the settings of a simulated I/O module.
Syntax
KsError ConfigureIo(
int Index,
SlaveStatus Details
);
Parameters
Index: the index of a simulated I/O module. Indexes are zero based. Aliases affect this parameter.
Details: detailed information about the module. Before using this function, InputLength and OutputLength in the SlaveStatus structure must be filled in. The default value is zero if no value is set.
Return value
If the function succeeds, it returns errNoError
, otherwise an error code. For more information about the error code, see the KsError list.
Remarks
Allows for simulation of expected behavior when using a simulated I/O module.
Usable EtherCAT states
ecatOffline, ecatOP
Example
Copy
/////////////////////////////////////////////////////////////////////////
//
// This code snippet demonstrates how to configure simulated hardware
// in KINGSTAR subsystem. Please be aware that if any actual hardware
// detected in the bus scan procedure the configuration will be replaced
// by automated configuration.
//
/////////////////////////////////////////////////////////////////////////
#define AXIS_COUNT 2
#define IO_COUNT 3
// Variable declaration
KsError nRet = errNoError;
KsCommandStatus Command = { 0 };
SubsystemStatus Subsystem = { ecatOffline, ecatOffline, 0, 0, 0, {ecatOffline}, {ecatOffline}, {axisOffline} };
int axesCount = 0, ioCount = 0;
// Link to the KINGSTAR subsystem
nRet = Create(0, 0);
nRet = SetConfiguredAxesCount(AXIS_COUNT);
nRet = SetConfiguredIoCount(IO_COUNT);
for (int i = 0; i < AXIS_COUNT; i++)
{
SlaveStatus axisDefinition = { "Simulated Axis", 0 };
// Assign resolution for the simulated axes
nRet = ConfigureAxis(0, axisDefinition, 131072);
}
for (int i = 0; i < IO_COUNT; i++)
{
SlaveStatus simulatedIo = { "Simulated IO", 0 };
// Assign input length for the simulated IOs
simulatedIo.InputLength = 32;
nRet = ConfigureIo(i, simulatedIo);
}
// By setting the timeout to a short interval and abort Start() on timeout,
// KINGSTAR subsystem will stop scanning for real hardware and start with
// the simulated hardware instead.
Command = WaitForCommand(2, TRUE, Start());
// Get the configured hardware count. It can be used by another KINGSTAR application process.
nRet = GetConfiguredAxesCount(&axesCount);
nRet = GetConfiguredIoCount(&ioCount);
Requirements
RT | Win32 | |
---|---|---|
Minimum supported version | 4.2 | 4.2 |
Header | ksapi.h | ksapi.h |
Library | KsApi_Rtss.lib | KsApi.lib |
See also